package com.cv.platform.controller.platform.favourite.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 视频平台 - 视频收藏 Response VO
 *
 * @author Charles_XDXD
 */
@Data
@Tag(name = "视频平台 - 视频收藏 Response VO")
public class CvVideoFavouriteRespVO {

    /**
     * 收藏编号
     */
    @Schema(description = "收藏编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
    private Long id;

    /**
     * 作者编号
     */
    @Schema(description = "作者编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
    private Long userId;

    /**
     * 作者昵称
     */
    @Schema(description = "作者昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "作者昵称")
    private String nickname;

    /**
     * 视频编号
     */
    @Schema(description = "视频编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
    private Long videoId;

    /**
     * 视频标题
     */
    @Schema(description = "视频标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "视频标题")
    private String title;

    /**
     * 视频封面
     */
    @Schema(description = "视频封面", requiredMode = Schema.RequiredMode.REQUIRED, example = "视频封面")
    private Long thumbnail;

    /**
     * 视频封面 URL
     */
    @Schema(description = "视频封面 URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "视频封面 URL")
    private String thumbnailUrl;

    /**
     * 视频播放量
     */
    @Schema(description = "视频播放量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
    private Integer viewCount;

    /**
     * 评论数量
     */
    @Schema(description = "评论数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
    private Integer commentCount;

    /**
     * 视频发布时间
     */
    @Schema(description = "视频发布时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime publishTime;

}
